// TwoNumberSumBySet.cpp

#include <set>
#include <vector>
#include <algorithm>
#include <iostream>

using namespace std;

bool twoNumberSum(vector<int> array, int targetSum) {
  set<int> coll; // 定义一个空的数据集合

  // 遍历 array，对于其中的每一个元素 n
  //
  // 如果 array 中有能和 n 相加等于 targetSum 的值 m 存在，
  // m = targetSum - n

  // 在 coll 里检查 m 是否存在，如果存在，就可以返回 true
  // 否则，就把 n 加入到 coll
  // coll.insert(6)

  // coll {8, 5, 2, 9, 6}
  // coll.find(9) // set 的查找操作是一个与集合长度无关的操作，他的执行时间是固定的
  //  - 如果查到了：set<int>::iterator
  //  - 如果查不到：coll.end()
  // targetSum 12
  // 
  // {8, 5, 2, 9, 6, 3}
  //                 ^l
}

int main(int argc, char const *argv[])
{
  /* code */
  return 0;
}
